Campaign Manager - Best Practice Guides
Best Practice Guide - Audiences, Tracks, Events and PollingThis guide describes how Campaign Manager uses Audiences, Tracks, Events and Polling, and in turn how they are used for Campaign optimization.
![]() The first steps to any successful campaign are design and planning. In advance of building any campaign, consider the following:
A design is required before the rest of the information in this document is applied.
Audience refreshes, for example, can take some time to calculate and if the audience has not changed this is unnecessary processing, so understanding this process is relevant to campaign design. Carefully managing polling with tracks and events is vital to ensure optimal response times for campaigns and to ensure that the system is not overloaded with unnecessary polling. Having a polling strategy that is too frequent can significantly influence system performance. This guide provides advice on how to approach polling strategy. The document is produced in line with functionality in Campaign Manager and Engine. ![]() There are two campaign types, Track Segmentation and Grid Segmentation. The main features of these are as follows: Grid Segmentation
Track Segmentation
![]() A campaign’s audience is simply a combination of the Inclusion Segments minus the Exclusion Segments as defined on the Audience tab of the campaign document.
![]() An audience refresh is a re-run of the calculation that creates the audience. If new recipients are found, they are added to the campaigns list of recipients. If any existing recipients no longer meet the criteria of the section, they are flagged as no longer included in the campaign and no further processing will occur on those recipients.
Campaign state can be viewed on a track by track basis on the Overview tab of the campaign document using the “State” tab. In a campaign’s Audience tab, there is the option to define the frequency of audience refresh:
The default option is On Start, which means the audience calculation will run only when the campaign starts or re-starts. For example, after a load process, to see if any new recipients have entered. If the audience data is going to change during the day, for example with new signs ups being processed, the Always option should be selected. This means the audience will refresh on every track poll.
![]() If a campaign requires an audience that after initial creation is locked for the duration of the campaign, select the Lock Inclusions After Start check box in the Audience tab.
![]() Most actions in Campaign Manager work on a 'pull' system of initiation. That means that activity does not commence immediately when a data change occurs by having that data 'pushed' into processors, but instead the architecture relies on making regular checks for these changes and then ‘pulling’ those changes back into the system for processing and execution. The process of making these regular checks is called ‘polling’ and is set on a track-by-track basis using tools called time items. In general, the more frequent the polling, the closer the 'pull' mechanism will approximate to a 'pushed' one, but at the cost of more frequent and probably redundant checks.
![]() In Campaign Manager, there is a back end process called the SQL Job Service, which is best thought of as the process in charge of looking for things to do. All polling activity begins as a result of the SQL Jobs Service performing a check every minute, across all the campaign tracks and event sources in all of the campaigns, to see if any are due to be processed. When it checks the campaigns, if there are tracks to be processed, a job is added to a queue. Whether a track is due to process depends on the time item used and therefore on the user specified polling or scheduling on the time item.
A second process called Alchemy DocumentScheduleService runs through and executes jobs when they are added to the queue.
![]() This is a very important question when considering campaign design. Each Track in a campaign can only have one time item, so choosing the right one is of paramount importance.
By default, the time item in every track is Do Immediately, as seen here:
Click the small cross icon Click the larger drop down icon In the screen shot below, the Start Track has the Do immediately time item, Track 1 has On a schedule, Track 2 has a specific date and Track 3 displays the selection drop-down:
When you use the Do immediately and After a Period time items, you need to define how often the system should check for new activity, this is the user defined Polling frequency. Click on the time item. Click the Attributes tab that appears in the ribbon bar to show the available settings.
The following options are available:
![]() Do ImmediatelyThe default time item on a new track. By default, tracks are polled every 10 minutes (600 seconds). This interval can be adjusted using the polling settings on the Attributes tab. It is possible, and based on campaign design desirable, to configure a different polling interval for every track. The ‘Do Immediately’ time item will only ever pass a recipient through a track once without them leaving the Track and coming back in as a new instance. Therefore, if someone is processed by a track with a ‘Do Immediately’, they pass to the “bottom” of the track and will never leave. Use a Go To tool or an Events/Trigger to ensure recipients move on.
After A Period‘After a Period’ is the other time item that uses polling Attributes, again with a default poll every 600 seconds. This should be adjusted as required. Depending on how recipients enter the track, it is quite possible that no new audience members will meet the elapsed time criteria, so while there will still be an overhead associated with audience and track population checks, no members may actually be processed. The job is unlikely to take a lot of time to process. The After a Period time item works from the time that the individual recipient entered the track. Therefore, the period is applied to each recipient on a recipient basis not globally.
On A ScheduleThe scheduling settings of this track are checked by the SQL Jobs Service which determines if a job is required. Since the schedule is specified explicitly, there is no ability to change the polling interval and the UI does not display the tab.
On A DateThe scheduling criteria of this Track is checked by the SQL Jobs Service when it runs, to determine if a job is required. Since the schedule is specified explicitly, there is no need to change the polling interval and the UI does not display the tab. This node has no repeatability so any missed dates will simply make this tool redundant. ![]() The default Polling frequency of Do Immediately and After a Period Tracks is 600 seconds (10 minutes). This is a setting targeted and campaigns being able to react in reasonable time scales, to any events or changes in data. This setting can be altered in the Applications Administration section under Client Settings. ![]() Considering all the information, there are a few points that a worth summarizing: Jobs are processed in the order they are submitted which is left to right from the START track. All time items except the ‘On a Schedule’ will process recipient once, so don’t leave people on the bottom of tracks if you don’t have any events to move them. Do not be too aggressive with polling if not required. End or Termination Tracks: These tracks are often placed at the “end” of a campaign and are used to collect recipients who have completed the campaign. As these tracks have no actions, polling should be disabled on these tracks as polling them serves no purpose but will add to the job queue. ‘Start’ Tracks: Start tracks are fully functional and can be used for any purpose. The only limitation is that they cannot be re-named. If you create a complex campaign and want to name the Track relating to its activity, the START track may be better utilized for variable setting only, but this is entirely by choice. ![]() There are considerations with the process of Events that have a considerable impact on the campaign design. Understanding these are useful for marketers in the creation of campaigns. ![]() An Event Source is an entity capable of generating events. Examples are Email Manager creatives (events: clicked, opened etc.), Event Files (each row could represent a customer contact event) and your Customer Data Mart (each change to a segment could be considered an event). An Event is an instance of activity from an Event Source for a particular individual in the campaign, most commonly detected by polling that source. A Trigger is the collection of Campaign Manager tools that should execute for individuals when a particular event from a particular event source is detected by polling. It is therefore logical to say that the system needs to poll to see if any of these Events have occurred in order to process the Trigger action.
Events are set up on the Events tab, which appear in two places:
In both cases, the configuration is the same. The following screen shot shows the location of the two tabs, and shows a ‘When in Segment’ Event configured on a Tactic/Creative. This Event will look for a purchase of a product from the Product Group = “HI”.
The Event Source itself is simply a definition of what the Event is. For example, opened an email, called a call center, or purchased a product. The next step is to define what will happen if that Event occurs - this is a Trigger. Triggers can be defined on a Track or Globally. The following screen shot shows the two locations where Triggers can be set, and having clicked on the Triggers box, displays possible Events for that Trigger.
Once the Event to be Triggered on has been selected and the action for the Trigger is defined, the next step is to move a recipient to a new Track.
![]() Every Email Manager ‘Send a Message’ creative has a hidden Event Source associated with it. By hidden we mean that the Event Source and its properties and attributes cannot be interacted with. The processing of Email Manager events is automated and optimized for performance. ![]() By default, Event Sources are polled every 180 seconds. This interval can be adjusted using the Polling Settings on the Attributes tab. The source of the Event data can vary, but will fall into two categories. The type of data carrying the Event, drives the choice of tool to be used as an Event Source. ![]() Used to run a query against the Data Warehouse, for example querying the transaction table for a product purchase. If the Customer Data Mart is loaded nightly, there is little value in having this polling at a high frequency as the data will not change. Therefore, it is likely that a long polling period is appropriate for this tool.
![]() Used to process a data file from an external source, for example a file from a Call Center. Recipients have responded to a campaign by calling the Call Center, and that system outputs a list of those recipients on a regular basis throughout the day for processing by Campaign Manager. This type of Event Source is more likely to require a shorter polling time depending on how often a new data feed will be available. If a new file is created every hour from the Call Center, that will govern the polling time for the Event Source. ![]() An API Event is an Event from an external source pushed into the system using a piece of API code. These will be pre-configured and will require some professional Services or Development work to integrate the two systems. API Events are the only part of the system this is a push and as such has no polling. ![]() It is important to understand the use of Events in conjunction with Tracks to avoid over aggressive polling. The process of Events entering the system is complex, which allows it to handle various scenarios. Possibly the most complex is the background process of Event Chaining. When an Event fires a Trigger, it is going to be at its most effective if all recipients are as far through the campaign as they can be before it fires. Tracks already have polling and so the Track poll would move someone to a Track with that frequency. A worst-case scenario is that a recipient might not be in the right Track when the Event comes in due to Track Polling being set to a long period. To address this, the first thing that Event processing does is, if ‘Do Immediately’, then execute the Tracks to move everyone as far through the Track as they can go. It then processes the Event Triggers for the Track and proceeds to the next Track from left to right. This is based on the assumption that campaigns will tend to be structured so audience members move from left to right as they progress through the engagement cycle.
The batch of events may include more than one Event for each recipient (for example Email Opened, Link Click) so to ensure that every Track has an opportunity to Trigger off its particular Event, the whole batch of Events is allowed to Trigger for the participants of each Track in turn. What happens when an Event Source is found?
![]() The amount of data actually moving in the back end means that we have to protect our campaign state by adding a layer of data locking. This section gives a high-level overview to understand why some delays are inevitable and therefore how inter campaign execution might be optimized. There are two levels of lock:
When the lock is released, the Event processor runs. The Events processor will process the Trigger/Events combinations to their conclusion. A Tactic/Creative can be sent within an Event lock. ![]() There are other options in the campaign that help with campaign design. What do the Campaign dates control?There are three configurable dates for a campaign:
What should I do when the Campaign is finished?Campaigns store the position and variable values for all recipients in a database table called Campaign State. Having a high volume of State tables can have a performance impact on the system, so it is important that users show some ownership of campaigns and housekeeping. Once a campaign has completed and is past its End Date, click the Remove State button on the Overview tab to remove all state data related to the campaign.
![]() This section looks at some simple campaign examples and provides advice on Polling. Basic Single Execution CampaignA single deployment campaign with no event processing. The audience is defined at the start of campaign and will not change and a single tactic will be used. Suggestion would be just to use the START track with an ‘On a Schedule’ time item to start the campaign at the required time with no re-occurrence of the schedule. End Date set for the next day (to ensure all processing is given a chance to finish) Remember to Remove State after execution. Start Track
Basic Engagement CampaignA basic single contact campaign, that runs continually. It executes once a day to process any new audience members but no Event configuration is involved. A presumption here is that any data changes occur in the overnight load process, and not during the Business as Usual workday. This campaign has a single Tactic/Creative execution. Suggestion here is to use two tracks, the default Start Track and an End Track. Tactic implementation occurs in the START track, processed recipients are then moved to the End Track.
Time item ‘On a Schedule’ to run once a day, at an appropriate time. It is useful to avoid times when Ad Hoc high volume single execution campaigns might be running (due to campaign locking). Remember to turn Track Polling off for the End Track. Start Track
End Track
Basic Single Contact and Follow up CampaignAn initial contact email based on an Audience rule, and then an Event based Follow up communication to complete the campaign. Initial contact Audience not presumed to change intra-day. This can include three Tracks, called Start, Follow Up and End configured and two Tactics called ’Initial Email‘ and ’Follow-Up Email‘ as follows: Start Track
Follow Up Track
End Track
|
Online & Instructor-Led Courses | Training Videos | Webinar Recordings | ![]() |
|
![]() |
© Alterian. All Rights Reserved. | Privacy Policy | Legal Notice | ![]() ![]() ![]() |